package com.itheima.advantagesup.controller;

import com.itheima.advantagesup.common.PaginationVO;
import com.itheima.advantagesup.common.R;
import com.itheima.advantagesup.entity.YddTag;
import com.itheima.advantagesup.service.TagService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@Slf4j
@RequestMapping("/ydd_tag")
public class TagController {

    private TagService tagService;

    public TagController(TagService tagService) {
        this.tagService = tagService;
    }

    @GetMapping("/all")
    public R<List<YddTag>> getAll() {
        List<YddTag> tagList = tagService.getAll();
        return R.success(tagList);
    }

    @GetMapping("/del")
    public R<?> deleteById(String id) {
        tagService.deleteById(id);
        return R.success();
    }

    @GetMapping("/rowInfo")
    public R<YddTag> rowInfoById(String id) {
        YddTag tag = tagService.rowInfoById(id);
        return R.success(tag);
    }

    @GetMapping("/list")
    public R<PaginationVO<YddTag>> page(String tagname, @RequestParam(defaultValue = "1") String page,
                     @RequestParam(defaultValue = "10") String limit) {
        //记录日志
        log.info("分页查询，参数：{},{},{}", page, limit, tagname);
        //调用业务层分页查询功能
        PaginationVO<YddTag> pages = tagService.page(page, limit, tagname);
        //响应
        return R.success(pages);
    }

    @PostMapping("/add")
    public R<?> addTag(@RequestBody YddTag tag){
        log.info("添加参数：{}",tag);
        tagService.addTag(tag);
        return R.success();
    }

    @PostMapping("/update")
    public R<?> updateTag(@RequestBody YddTag tag) {
        log.info("修改参数：{}", tag);
        tagService.updateTag(tag);
        return R.success();
    }
}
